/*
 * Formulario.h
 *
 *  Created on: 29/09/2012
 *      Author: Familia
 */

#ifndef FORMULARIO_H_
#define FORMULARIO_H_

#include "SDL/SDL.h"
#include "../constantes.h"
#include "../Dibujante.h"
#include "BotonClienteConectar.h"
#include "BotonClienteJugar.h"
#include "../dominio/TipoPersonaje.h"
#include <string>
#include <list>

using namespace std;

class Formulario {

public:
	Formulario();
	virtual ~Formulario();
	void dibujarFondo(string);
	void mostrar();
	int DesplegarSolapaServidor();
	int DesplegarSolapaClienteConectar();
	int DesplegarSolapaClienteJugar();
	int DesplegarSolapaModoJuego();
	void setPuertoServidor(int);
	int getPuertoServidor();
	string getOpcionServidor();
	int getPuertoCliente();
	void setPuertoCliente(int);
	string getHostCliente();
	void setHostCliente(string);
	string getPersonajeElegido();
	static bool seteoServer;
	void setMensajeError(string);
	void setMensajeErrorJugar(string);
	string getMensajeError();
	string getMensajeErrorJugar();
	TipoPersonaje getTipoPersonaje();
	void setValoresDefecto();
	void setNombreOponente(string);
	void setRutaYaml(string);
	bool getCerrar();
	bool getEsServer();
	bool getEsSinglePlayer();
	int getNumeroJugadores();
	void setNumeroJugadores(int);
	void clearOponentes() {listaOponentes.clear();};

private:

	SDL_Surface *vista;
	int puertoServidor, puertoCliente, numeroJugadores;
	string opcionServidor, hostCliente, opcionCliente, rutaYAML;
	string mensajeError,mensajeErrorJugar;
	//string nombreOponente;
	TipoPersonaje personajeElegido;
	bool cerrar, esServer;
	list<string> listaOponentes;
	bool esSinglePlayer;

};

#endif /* FORMULARIO_H_ */
